Type JukeboxObserverFactory

	Global firstFactory:JukeboxObserverFactory

	Field nextFactory:JukeboxObserverFactory

	Function Fetch:JukeboxObserver(name:String)
		Local factory:JukeboxObserverFactory=JukeboxObserverFactory.firstFactory
		While factory
			Local loader:JukeboxObserver = factory.CreateLoader(name)
			If loader Then
				Return loader
			End If
			factory = factory.nextFactory
		Wend		
	End Function
	
	Method New()
		nextFactory = JukeboxObserverFactory.firstFactory
		JukeboxObserverFactory.firstFactory = Self
	End Method

	Method CreateLoader:JukeboxObserver(name:String) Abstract

End Type
